在操作系统中配置 snmpd 服务

通过 SNMP 与 KSMG 进行交互是使用操作系统的“snmpd”服务来实现的。snmpd 服务充当主代理,通过 SNMP 接收和处理来自监控系统和其他外部使用者的请求。KSMG 通过 UNIX™ 套接字通过 AgentX 协议作为子代理连接到 snmpd 服务。

安装 snmpd 服务

确保您的操作系统中已安装 snmpd 服务。如果未安装该服务,请安装相应的软件包。

要安装 snmpd 服务和辅助实用程序

输入以下命令:

创建用于访问数据的用户账户

创建账户之前,请停止 snmpd 服务。

为了保证使用身份验证和加密通过 SNMPv3 访问数据的安全性,您需要在 snmpd 服务端创建一个用户账户,其中包含以下信息:

出于安全考虑,我们建议在 KSMG 集群的每个节点上使用独立的用户账户。

您可以通过以下方式创建用户账户:

要使用 net-snmp-create-v3-user 实用程序创建用户账户:

net-snmp-create-v3-user -ro -a <身份验证算法> -x <加密算法> <用户名>

交互请求身份验证和加密密码。

示例:

net-snmp-create-v3-user -ro -a SHA -x AES MonitoringUser

要在不使用该实用程序的情况下创建用户账户:

  1. 创建 /var/lib/snmp/snmpd.conf 配置文件:

    touch /var/lib/snmp/snmpd.conf

  2. 在配置文件中添加下列行:

    createUser <用户名> <身份验证算法> "<身份验证密码>" <加密算法> "<加密密码>"

    示例:

    createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"

创建用于接收 SNMP 陷阱的用户账户

要通过身份验证和加密通过 SNMPv3 接收 SNMP 陷阱,您需要在相应服务(通常是 snmptrapd 服务)的上下文中在监控系统一侧创建一个账户。

该账户必须包含以下信息:

出于安全目的,您必须使用单独的用户账户来访问数据和接收 SNMP 陷阱。
我们建议创建独立的用户账户,用于从 KSMG 集群的每个节点接收 SNMP 陷阱。

有关创建用于接收 SNMP 陷阱的用户账户的说明,请参阅监控系统的文档。

配置 snmpd 服务

snmpd 服务的配置存储在 /etc/snmp/snmpd.conf 文件中。您可以将必要的信息添加到现有配置文件中,或者创建新的配置文件并按给定顺序添加下面列出的行。

要配置 snmpd 服务:

  1. 如果您选择创建新的配置文件,请确保只有超级用户有权访问它。如果需要,设置权限:

    chown root:root /etc/snmp/snmpd.conf

    chmod 600 /etc/snmp/snmpd.conf

  2. 指定 snmpd 服务必须侦听传入请求的协议、网络接口地址和端口号。
    • 如果要监听所有网络接口上的请求,请将以下行添加到配置文件中:

      # 通过 UDP 侦听传入的 SNMP 请求

      agentAddress udp:161

    • 如果只想监听本地网络接口上的请求,例如监控系统安装在同一台机器上,则添加以下行:

      # 通过 UDP 侦听传入的 SNMP 请求

      agentAddress udp:127.0.0.1:161

  3. 指定 UNIX 套接字的路径和权限,snmpd 服务必须在该套接字上侦听通过 AgentX 协议的子代理连接。为此,请将以下行添加到配置文件中:

    # 通过 UNIX 套接字监听子代理连接

    master agentx

    agentXSocket unix:/var/run/agentx-master.socket

    agentXPerms 770 770 kluser klusers

  4. 如有必要,您可以提供系统描述、系统位置以及管理员的联系地址。为此,请将以下行添加到配置文件中:

    # 系统基本信息

    sysDescr <系统描述>

    sysLocation <系统位置>

    sysContact <管理员的联系地址>

    sysServices 72

  5. 指定您希望通过 SNMP 协议供监控系统使用的 OID 树的范围。要访问 KSMG 数据,请将以下行添加到配置文件中:

    # Kaspersky Secure Mail Gateway SNMP statistics

    view monitoring included .1.3.6.1.4.1.23668.1735

  6. 必要时,您还可以指定 OID 树的范围,其中包含 snmpd 服务存储的有关操作系统的信息。该范围将可供您的监控系统使用。

    有关操作系统的信息包括例如有关 CPU 和 RAM 使用情况、磁盘分区上的可用空间、网络接口负载的信息;已安装软件的列表;打开的网络连接列表;以及正在运行的进程的列表。该信息的一部分可能是机密的。

    • 如果您只想允许访问一般系统信息以及有关 RAM、CPU 和磁盘设备使用情况的信息,请将以下行添加到配置文件中:

      # SNMPv2-MIB - 基本系统信息

      view monitoring included .1.3.6.1.2.1.1

      # HOST-RESOURCES-MIB - CPU、内存、文件系统

      view monitoring included .1.3.6.1.2.1.25.1

      view monitoring included .1.3.6.1.2.1.25.2

      view monitoring included .1.3.6.1.2.1.25.3

      view monitoring included .1.3.6.1.2.1.25.5

      # UCD-SNMP-MIB - 内存和 CPU 使用情况

      view monitoring included .1.3.6.1.4.1.2021.4

      view monitoring included .1.3.6.1.4.1.2021.10

      view monitoring included .1.3.6.1.4.1.2021.11

      # UCD-SNMP-DISKIO-MIB - 块设备 I/O 统计信息

      view monitoring included .1.3.6.1.4.1.2021.13

      # IF-MIB - 网络接口 I/O 统计信息

      view monitoring included .1.3.6.1.2.1.2

      view monitoring included .1.3.6.1.2.1.31

    • 如果要允许访问所有系统信息,请将以下行添加到配置文件中:

      # 允许访问整个 OID 树

      view monitoring included .1

  7. 指定创建的用户账户的访问模式和信息范围。为此,请将以下行添加到配置文件中:

    # SNMPv3 监控系统用户的访问控制

    rouser <用户名> priv -V 监控

  8. 要发送 SNMP 陷阱,请指定监控系统的 IP 地址和用于接收陷阱的用户凭据。为此,请将以下行添加到配置文件中:

    # 向监控系统发送 SNMPv3 陷阱

    trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <用于接收陷阱的用户名> -a <身份验证算法> -A "<用于接收陷阱的用户密码>" -x <加密算法> -X "<加密密码>" udp:<IP 地址>:162

将配置 snmpd 服务。

要与多个监控系统集成,请为每个系统创建一个单独的用户账户,指定每个用户账户的可用信息范围(“view”和“rouser”指令)并配置 SNMP 陷阱的发送(“trapsess”指令)。

snmpd 服务配置文件示例

使用新配置启动 snmpd 服务

要应用新配置:

  1. 重启 snmpd 服务:

    systemctl restart snmpd

  2. 检查 snmpd 服务的状态:

    systemctl status snmpd

    状态必须是running

  3. 允许该服务在操作系统启动时自动启动:

    systemctl enable snmpd

  4. 如果您在操作系统或网络设备中使用防火墙,请添加规则以允许 SNMP 数据包通过。

snmpd 服务已配置。

检查 snmpd 服务的运行状况

要测试 snmpd 服务,请在 KSMG Web 界面中配置 SNMP 的使用,并使用“snmpwalk”实用程序请求 SNMP 数据。

要获取 KSMG 提供的 SNMP 数据的范围:

snmpwalk -v3 -l authPriv -u <用户名> -a <身份验证算法> -A "<身份验证密码>" -x <加密算法> -X "<加密密码>" <IP 地址> .1.3.6.1.4.1.23668.1735

示例:

snmpwalk -v3 -l authPriv -u MonitoringUser -a SHA -A "MonitoringAuthSecret" -x AES -X "MonitoringPrivSecret" 127.0.0.1 .1.3.6.1.4.1.23668.1735

页面顶部